﻿using System;
using Limilabs.Client.SMTP;
using Limilabs.Mail;
using Limilabs.Mail.Headers;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;


namespace Infos.InterviewApp.View
{
    /// <summary>
    /// Pagina vuota che può essere utilizzata autonomamente oppure esplorata all'interno di un frame.
    /// </summary>
    public sealed partial class InvioSuggerimento : Infos.InterviewApp.Common.LayoutAwarePage
    {
        public Infos.InterviewApp.Common.LayoutAwarePage Page { get; set; }
        public InvioSuggerimento()
        {
            this.InitializeComponent();
        }

        public InvioSuggerimento(Infos.InterviewApp.Common.LayoutAwarePage view)
        {
            Page = view;
            Page.IsEnabled = false;
            this.InitializeComponent();
        }

        private async void SendBtn_Click(object sender, RoutedEventArgs e)
        {
            Popup pop = (Popup)this.Parent;
            pop.IsOpen = false;
            Page.IsEnabled = true;

            MailBuilder myMail = new MailBuilder();
            myMail.Html = MsgText.Text;
            myMail.Subject = SubText.Text;
            myMail.To.Add(new MailBox("alessio_maugeri@hotmail.com"));
            myMail.From.Add(new MailBox("newsforsanmarino@gmail.com"));

            IMail email = myMail.Create();

            try
            {
                using (Smtp smtp = new Smtp())
                {
                    await smtp.Connect("smtp.gmail.com", 587);
                    await smtp.UseBestLoginAsync("newsforsanmarino", "saruman.01");
                    await smtp.SendMessageAsync(email);
                    await smtp.CloseAsync();
                    MessageDialog msg = new MessageDialog("Suggerimento inviato");
                    await msg.ShowAsync();
                }
            }
            catch (Exception ex)
            {
                MessageDialog msg = new MessageDialog("Errore nell'invio del messaggio. Riprovare!");
                msg.ShowAsync();
            }
        }

        private void BtnCloseBacheca_Click(object sender, RoutedEventArgs e)
        {
            Popup pop = (Popup)this.Parent;
            pop.IsOpen = false;
            Page.IsEnabled = true;
        }
    }
}
